1d463835ebb1dadf799b49c02de7fa9bcef8c56d,src/freenet/node/FNPPacketMangler.java,FNPPacketMangler,sendJFKMessage2,#number[]#number[]#PeerNode#Peer#boolean#number#number#,886

Before Change


	 */
	private void sendJFKMessage2(byte[] nonceInitator, byte[] hisExponential, PeerNode pn, Peer replyTo, boolean unknownInitiator, int setupType, int negType) {
		if(logMINOR) Logger.minor(this, "Sending a JFK(2) message to "+pn);
		DiffieHellmanLightContext ctx = getLightDiffieHellmanContext();
		// g^r
		byte[] myExponential = stripBigIntegerToNetworkFormat(ctx.myExponential);
		// Nr

After Change


		int modulusLength = getModulusLength(negType);

		// g^r
		KeyAgreementSchemeContext ctx = (negType < 8 ? getLightDiffieHellmanContext() : getECDHLightContext());
	    DSASignature sig = ctx.signature;
		    
		// Nr
		byte[] myNonce = new byte[NONCE_SIZE];
		node.random.nextBytes(myNonce);
	    byte[] myExponential = ctx.getPublicKeyNetworkFormat();
		byte[] r = sig.getRBytes(Node.SIGNATURE_PARAMETER_LENGTH);
		byte[] s = sig.getSBytes(Node.SIGNATURE_PARAMETER_LENGTH);
		byte[] authenticator = HMAC.macWithSHA256(getTransientKey(),assembleJFKAuthenticator(myExponential, hisExponential, myNonce, nonceInitator, replyTo.getAddress().getAddress()), HASH_LENGTH);